package com.example.featuresdk.core

interface INavigationMediator {

    /**
     * go back to previous screen in a feature or previous feature
     */
    fun back()

    /**
     * get the current active feature
     */
    fun currentFeature(): AbstractFeatureSDK

    /**
     * get the targeting feature
     */
    fun targetFeature(): AbstractFeatureSDK

    /**
     * get the feature by feature key
     */
    fun feature(featureKey: String): AbstractFeatureSDK?

    /**
     * register the feature sdk in mediator
     */
    fun register(featureSDK: AbstractFeatureSDK)
}